package com.ruicar.afs.cloud.basic.proceeds.debit.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.AccountStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.PaymentStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class DebitPayMentVO {
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;

	private String applyNo;

	private String contractNo;

	private String custName;

	private String carVin;

	private String receiptAccount;

	private String receiptAccountName;

	private String receiptBankCode;

	private BigDecimal paymentAmt;

	private String productName;

	private String channelName;

	private String startDate;

	private String lastFailReason;

	private String businessType;

	private String endDate;

	/** 付款发送时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("付款发送时间")
	private Date sendTime;
	/** 付款成功时间 付款成功回写 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("付款成功时间 付款成功回写")
	private Date activationTime;

	@JsonSerialize(using = ToStringSerializer.class)
	private Long pageNum;
	@JsonSerialize(using = ToStringSerializer.class)
	private Long pageSize;

	private String paymentBankCode;

	private String paymentAccount;

	private String custNo;

	private YesOrNoEnum isPayment;
	private PaymentStatusEnum paymentStatus;
	/** 账号修改状态 */
	@ApiModelProperty("账号修改状态")
	private AccountStatusEnum accountChangeStatus;
}
